home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 1.iso / ARGONET / PD / GRAPHICS / POV302.ZIP / pov302 / povscn / level3 / pov / oak2 < prev    next >
Text File  |  1995-11-10  |  5KB  |  180 lines

  1. // Persistence Of Vision raytracer version 3.0 sample file.
  2. // File by Dan Farmer
  3. // Many of the declarations here are not the same as in the #include files!
  4. //=========================================================================
  5.  
  6. #version 3.0
  7. global_settings { assumed_gamma 1.8 }
  8.  
  9. #include "colors.inc"
  10. #include "shapes.inc"
  11. #include "textures.inc"
  12. #include "metals.inc"
  13.  
  14. #declare BlueViolet     = color red 0.38 green 0.39 blue 0.58
  15. #declare DarkPurple     = color red 0.53 green 0.12 blue 0.47
  16. #declare CoolCopper     = color red 0.85 green 0.53 blue 0.10
  17. #declare LightWood      = color red 0.91 green 0.76 blue 0.65
  18. #declare MediumWood     = color red 0.65 green 0.50 blue 0.39
  19. #declare DarkWood       = color red 0.52 green 0.37 blue 0.26
  20. #declare SemiSweetChoc  = color red 0.42 green 0.26 blue 0.15
  21. #declare BakersChoc     = color red 0.36 green 0.20 blue 0.09
  22. #declare VeryDarkBrown  = color red 0.35 green 0.00 blue 0.14
  23.  
  24. // a unit sphere is one with radius of 1.0.
  25. // This shape is equivilent in size to a unit sphere {
  26. // and will scale evenly in all directions.
  27.  
  28. #declare Torus = torus { 1.0, 0.25 }
  29.  
  30. #declare LeftTopElbow = object {
  31.    Torus
  32.    rotate 90*x
  33.  
  34.    clipped_by {
  35.       plane { x, 0 }
  36.       plane { -y, 0 }
  37.    }
  38.    texture { Copper_Texture pigment { quick_color Red } }
  39. }
  40.  
  41. #declare RightTopElbow = object {
  42.    Torus
  43.    rotate 90*x
  44.  
  45.    clipped_by {
  46.       plane { -x, 0 }
  47.       plane { -y, 0 }
  48.    }
  49.    texture { Copper_Texture pigment { quick_color Red } }
  50. }
  51.  
  52. #declare XTube = cylinder {
  53.    -x, x, 1
  54.    texture { Copper_Texture pigment { quick_color Red } }
  55. }
  56.  
  57. #declare YTube = cylinder {
  58.    -y, y, 1
  59.    texture { Copper_Texture pigment { quick_color Red } }
  60. }
  61.  
  62. camera {
  63.    location <20, 15, -35>
  64.    direction <0, 0, 1.2>
  65.    up  <0, 1, 0>
  66.    right <4/3, 0, 0>
  67.    look_at <1.5, 4.5, 0>
  68. }
  69.  
  70. // Area lights are optional.  Comment them out for speed.
  71. light_source { <-30, 500, -1.0> White
  72.     area_light <-50, 0, -50> <50, 0, 50> 4, 4
  73. }
  74. light_source { <-5, 30, -50> White
  75.     area_light <-10, 0, -10> <20, 0, 20> 5, 5
  76. }
  77.  
  78. /* floor */
  79. plane {
  80.    y, -6
  81.  
  82.    pigment {
  83.       granite
  84.       color_map { [0.0 color BlueViolet ] [1.0 color DarkPurple] }
  85.       quick_color White
  86.    }
  87.    finish {
  88.       reflection 0.15
  89.       ambient 0.075  diffuse 0.5
  90.    }
  91. }
  92.  
  93. #declare Oak =  pigment {
  94.    wood
  95.    turbulence 0.05
  96.    colour_map {
  97.       [0.00 0.10 color SemiSweetChoc color SemiSweetChoc]
  98.       [0.10 0.90 color SemiSweetChoc color DarkWood]
  99.       [0.90 1.01  color DarkWood  color DarkWood ]
  100.    }
  101. }
  102.  
  103. #declare WoodSphere = sphere {
  104.    <0, 0, 0>, 10
  105.  
  106.    texture {
  107.       pigment {
  108.          Oak
  109.          scale <0.5, 0.5, 1.0>
  110.          translate <0.25, 0.05, 0.5>
  111.          rotate <0, 0, 0.5>
  112.          quick_color White
  113.       }
  114.       finish {
  115.          specular 0.25
  116.          roughness 0.015
  117.          reflection 0.12
  118.          ambient 0.15
  119.          diffuse 0.7
  120.       }
  121.    }
  122. }
  123.  
  124. #declare Chamfer = union {
  125.    object { Disk_X scale <12.5, 0.65, 0.65> translate <0, 0, -12> }
  126.    object { Disk_X scale <12.5, 0.65, 0.65> translate <0, 0, 12>  }
  127.    object { Disk_Z scale <0.65, 0.65, 12.5> translate <-12, 0, 0> }
  128.    object { Disk_Z scale <0.65, 0.65, 12.5> translate <12, 0, 0> }
  129. }
  130.  
  131. #declare BrassBall = sphere {
  132.    <0, 0, 0>, 1.5
  133. //    texture { Brass_Texture pigment { quick_color Red } }
  134.    texture { T_Brass_3A pigment { quick_color Red } }
  135. }
  136.  
  137. #declare Railing = union {
  138.    object { LeftTopElbow  translate <-8, 0, 0> }
  139.    object { RightTopElbow translate <+8, 0, 0> }
  140.    object { XTube  scale <8.0, 0.25, 0.25>  translate <0, 1, 0>  }
  141.    object { YTube  scale <0.25, 2, 0.25>    translate <+9, -2, 0> }
  142.    object { YTube  scale <0.25, 2, 0.25>    translate <-9, -2, 0> }
  143. }
  144.  
  145. #declare Base = difference {
  146.    object { Cube scale <12, 2, 12> }
  147.    object { Chamfer translate <0, 2, 0> }
  148.  
  149.    texture {
  150.       pigment {
  151.          Oak
  152.          scale <0.45, 0.45, 0.7>
  153.          rotate <0.20, 0.10, 0.05>
  154.          translate <0, -1, 0>
  155.          quick_color Red
  156.       }
  157.       finish {
  158.          specular 0.85
  159.          roughness 0.015
  160.          reflection 0.15
  161.          ambient 0.15 diffuse 0.7
  162.       }
  163.    }
  164.  
  165.    translate <0, -1, 0>
  166. }
  167.  
  168. union {
  169.    object { WoodSphere  translate <0, 9.5, 0> }
  170.    object { Base }
  171.    object { BrassBall translate < 10, -4.5,  10> }
  172.    object { BrassBall translate < 10, -4.5, -10> }
  173.    object { BrassBall translate <-10, -4.5,  10> }
  174.    object { BrassBall translate <-10, -4.5, -10> }
  175.    object { Railing translate <0, 3, 10> }
  176.    object { Railing translate <0, 3, -10> }
  177.    object { Railing rotate 90*y translate < 10, 3, 0> }
  178.    object { Railing rotate 90*y translate <-10, 3, 0> }
  179. }
  180.